import {
	mapGetters
} from 'vuex'

// 导出一个 mixin 对象
export default {
	computed: {
		...mapGetters('message', ['unread_num']),
	},
	watch: {
		// 监听 unread_num 值的变化
		unread_num() {
			// 调用 methods 中的 setBadge 方法，重新为 tabBar 的数字徽章赋值
			this.setBadge()
		},
		immediate: true
	},
	onShow() {
		// 在页面刚展示的时候，设置数字徽标
		this.setBadge()
	},
	methods: {
		setBadge() {
			// 调用 uni.setTabBarBadge() 方法，为通知设置右上角的徽标
			if (this.unread_num > 0) {
				if (this.unread_num <= 99)
					uni.setTabBarBadge({
						index: 1,
						text: this.unread_num + '', // 注意：text 的值必须是字符串，不能是数字
					})
				else uni.setTabBarBadge({
					index: 1,
					text: '99+', // 注意：text 的值必须是字符串，不能是数字
				})
			} else uni.removeTabBarBadge({
				index: 1
			})
		},
	},
}